Section: Software
ForestGOMP
Participants : Olivier Aumage, Yannick Martin, Pierre-André Wacrenier.
ForestGOMP is an OpenMP environment based on both the GNU OpenMP run-time and the Marcel thread library.
It is designed to schedule efficiently nested sets of threads (derived from nested parallel regions) over hierarchical architectures so as to minimize cache misses and NUMA penalties.
The ForestGOMP runtime generates nested Marcel bubbles each time an OpenMP parallel region is encountered, thereby grouping threads sharing common data.
Topology-aware scheduling policies implemented by BubbleSched can then be used to dynamically map bubbles onto the various levels of the underlying hierarchical architecture.
ForestGOMP allowed us to validate the BubbleSched approach with highly irregular, fine grain, divide-and-conquer parallel applications.